package com.qiku.service;

import com.github.pagehelper.PageInfo;
import com.qiku.domain.*;

import java.lang.reflect.InvocationTargetException;
import java.util.List;


public interface UserService {


    /**
     * 分页获取用户数据&条件查询用户数据
     * @param userVo
     * @return
     */
    public PageInfo<User> findAllUserByPage(UserVo userVo);


    /**
     * 修改用户状态
     * @param id
     * @param status
     * @return
     */
    public int updateUserStatus(Integer id,String status);

    /**
     * 用户登录功能
     * @param userVo
     * @return
     */
    public User login(UserVo userVo) throws InvocationTargetException, IllegalAccessException;


    /**
     * 注册
     * @param user
     * @return
     */
    public int register(User user);

    /**
     * 根据ID查询用户当前角色
     * @param id
     * @return
     */
    public List<Role> findUserRelationRoleById(Integer id);

    /**
     * 分配角色
     * @param userVo
     * @return
     */
    public void userContentRole(UserVo userVo);


    /**
     * 获取用户权限
     * @param id
     * @return
     */
    public ResponseResult  getUserPermissions(Integer id);

}
